  
  
/*  
* Copyright @ 2017 com.iflysse.trains  
* xebest-erp 下午4:53:28  
* All right reserved.  
*  
*/  
  
package com.xebest.web.service;  

import java.util.List;
import java.util.Map;

import com.xebest.web.form.XeVenStoreCheckForm;
import com.xebest.web.form.XeVenStoreListForm;
import com.xebest.web.form.XeVenStoreSaveCheckForm;
import com.xebest.web.model.XeVenStoreCheckEntity;
import com.xebest.web.view.ErpUserInfo;
import com.xebest.web.view.XeVenStoreCheckDetailView;
import com.xebest.web.view.XeVenStoreCheckView;

  
/**  
 * @desc: xebest-erp  
 * @author: 杜春静 
 * @createTime: 2017年6月24日 下午4:53:28  
 * @history:  
 * @version: v1.0    
 */

public interface XeVenStoreCheckService {
	/**
	 * 查询库存盘点单列表
	 * @author: 杜春静  
	 * @createTime: 2017年6月26日 上午10:53:41  
	 * @history:  
	 * @param param
	 * @return List<XeVenStoreCheckEntity>
	 */
	public List<XeVenStoreCheckView> listStoreCheckListByParam(Map<String, Object> param);
	/**
	 * 批量查询库存盘点明细
	 * @author: 杜春静  
	 * @createTime: 2017年7月17日 下午8:00:08  
	 * @history:  
	 * @param param
	 * @return List<XeVenStoreCheckDetailView>
	 */
	public List<XeVenStoreCheckDetailView> listStoreCheckDetailByParam(XeVenStoreCheckForm form);
	/**
	 * 添加盘点单
	 * @author: 杜春静  
	 * @createTime: 2017年6月26日 上午11:26:40  
	 * @history:  
	 * @param entity
	 * @return int
	 * @throws Exception 
	 */
	public int saveStoreCheck(XeVenStoreSaveCheckForm form,ErpUserInfo userInfo) throws Exception;
	
	/**  
	 * @author: 杜春静  
	 * @createTime: 2017年7月17日 上午11:12:08  
	 * @history:  
	 * @param entity
	 * @return
	 * @throws Exception int  
	*/  
	
	int saveFinishCheck(XeVenStoreSaveCheckForm form,ErpUserInfo userInfo) throws Exception;
	  
	/** 
	 * 添加时，完成盘点 
	 * @author: 杜春静  
	 * @createTime: 2017年7月17日 上午11:18:55  
	 * @history:  
	 * @param entity
	 * @return int  
	 * @throws Exception 
	*/  
	
	public int editFinishCheck(XeVenStoreCheckEntity entity,ErpUserInfo userInfo) throws Exception;
	  
	/**  
	 * 编辑时，修改盘点单的基本信息，然后保存
	 * @author: 杜春静  
	 * @createTime: 2017年7月17日 下午2:37:04  
	 * @history:  
	 * @param entity
	 * @return
	 * @throws Exception int  
	*/  
	
	int editStoreCheck(XeVenStoreCheckEntity entity) throws Exception;
	  
	/**  
	 * @author: 杜春静  
	 * @createTime: 2017年7月17日 下午3:12:02  
	 * @history:  
	 * @param form
	 * @param userInfo
	 * @return int  
	 * @throws Exception 
	*/  
	
	public int batchDiscardCheck(XeVenStoreListForm form,
			ErpUserInfo userInfo) throws Exception;
	  
	/** 
	 * 批量完成盘点 
	 * @author: 杜春静  
	 * @createTime: 2017年7月17日 下午3:27:15  
	 * @history:  
	 * @param form
	 * @param userInfo
	 * @return int  
	 * @throws Exception 
	*/  
	public int batchFinishStockCheck(XeVenStoreListForm form,
			ErpUserInfo userInfo) throws Exception;
	/**  
	 * @author: 杜春静  
	 * @createTime: 2017年8月2日 下午4:15:28  
	 * @history:  
	 * @param checkCode
	 * @param queryFlag
	 * @return XeVenStoreCheckEntity  
	*/  
	XeVenStoreCheckEntity getStoreCheckById(String checkCode, boolean queryFlag);

}
  
